#ifndef RANDOM_NUMBER_GENERATOR
#define RANDOM_NUMBER_GENERATOR

#include <stdlib.h>
#include <time.h>
#include <math.h>
#include "Singleton.h"

class RandomNumberGenerator
{
public:
	void Seed(unsigned int i);
	int CoinFlip();
	int GetRand(int i);
	float GetRand(float f);

private:
	RandomNumberGenerator();
	int TheRandFunc();
	friend class Singleton<RandomNumberGenerator>;
};

typedef Singleton<RandomNumberGenerator> TheRNG;
#define MY_RAND TheRNG::Instance()->GetRand
#define COIN_FLIP TheRNG::Instance()->CoinFlip()
#endif